package com.springboot.frame.socketio;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author liheng
 * @ClassName SocketIoProperties
 * @Description
 * @date 2021-03-12 17:43
 */
@Data
@ConfigurationProperties(prefix = "socketio")
public class SocketIoProperties {
    /**
     * 是否启动socketio,默认开启
     */
    private boolean enabled = true;

    /**
     * SocketIO端口,默认8000
     */
    private Integer port = 8000;

    /**
     * 连接数大小
     */
    private int workCount=100;

    /**
     * 允许客户请求
     */
    private boolean allowCustomRequests=true;

    /**
     * 协议升级超时时间(毫秒)，默认10秒，HTTP握手升级为ws协议超时时间
     */
    private int upgradeTimeout=10000;

    /**
     *  Ping消息超时时间(毫秒)，默认60秒，这个时间间隔内没有接收到心跳消息就会发送超时事件
     */
    private int pingTimeout = 60000;

    /**
     * Ping消息间隔(毫秒)，默认25秒。客户端向服务器发送一条心跳消息间隔
     */
    private int pingInterval = 25000;

    /**
     * 设置HTTP交互最大内容长度,默认1048576
     */
    private int maxFramePayloadLength = 1048576;

    /**
     * 设置最大每帧处理数据的长度，防止他人利用大数据来攻击服务器
     */
    private int maxHttpContentLength=1048576;
}
